home *** CD-ROM | disk | FTP | other *** search
/ io Programmo 60 / IOPROG_60.ISO / soft / c++ / gsl-1.1.1-setup.exe / {app} / src / cblas / test_syrk.c < prev    next >
Encoding:
C/C++ Source or Header  |  2002-04-18  |  26.6 KB  |  956 lines

  1. #include <gsl/gsl_test.h>
  2. #include <gsl/gsl_ieee_utils.h>
  3. #include <gsl/gsl_math.h>
  4. #include <gsl/gsl_cblas.h>
  5.  
  6. #include "tests.h"
  7.  
  8. void
  9. test_syrk (void) {
  10. const double flteps = 1e-4, dbleps = 1e-6;
  11.   {
  12.    int order = 101;
  13.    int uplo = 121;
  14.    int trans = 111;
  15.    int N = 2;
  16.    int K = 1;
  17.    float alpha = -1.0f;
  18.    float beta = 0.1f;
  19.    float A[] = { 0.412f, -0.229f };
  20.    int lda = 1;
  21.    float C[] = { 0.628f, -0.664f, -0.268f, 0.096f };
  22.    int ldc = 2;
  23.    float C_expected[] = { -0.106944f, 0.027948f, -0.268f, -0.042841f };
  24.    cblas_ssyrk(order, uplo, trans, N, K, alpha, A, lda, beta, C, ldc);
  25.    {
  26.      int i;
  27.      for (i = 0; i < 4; i++) {
  28.        gsl_test_rel(C[i], C_expected[i], flteps, "ssyrk(case 1566)");
  29.      }
  30.    };
  31.   };
  32.  
  33.  
  34.   {
  35.    int order = 102;
  36.    int uplo = 121;
  37.    int trans = 111;
  38.    int N = 2;
  39.    int K = 1;
  40.    float alpha = -1.0f;
  41.    float beta = 0.1f;
  42.    float A[] = { 0.101f, -0.653f };
  43.    int lda = 2;
  44.    float C[] = { 0.432f, 0.107f, -0.952f, -0.532f };
  45.    int ldc = 2;
  46.    float C_expected[] = { 0.032999f, 0.107f, -0.029247f, -0.479609f };
  47.    cblas_ssyrk(order, uplo, trans, N, K, alpha, A, lda, beta, C, ldc);
  48.    {
  49.      int i;
  50.      for (i = 0; i < 4; i++) {
  51.        gsl_test_rel(C[i], C_expected[i], flteps, "ssyrk(case 1567)");
  52.      }
  53.    };
  54.   };
  55.  
  56.  
  57.   {
  58.    int order = 101;
  59.    int uplo = 121;
  60.    int trans = 112;
  61.    int N = 2;
  62.    int K = 1;
  63.    float alpha = 1.0f;
  64.    float beta = 0.1f;
  65.    float A[] = { 0.79f, 0.595f };
  66.    int lda = 2;
  67.    float C[] = { 0.257f, 0.183f, -0.021f, -0.053f };
  68.    int ldc = 2;
  69.    float C_expected[] = { 0.6498f, 0.48835f, -0.021f, 0.348725f };
  70.    cblas_ssyrk(order, uplo, trans, N, K, alpha, A, lda, beta, C, ldc);
  71.    {
  72.      int i;
  73.      for (i = 0; i < 4; i++) {
  74.        gsl_test_rel(C[i], C_expected[i], flteps, "ssyrk(case 1568)");
  75.      }
  76.    };
  77.   };
  78.  
  79.  
  80.   {
  81.    int order = 102;
  82.    int uplo = 121;
  83.    int trans = 112;
  84.    int N = 2;
  85.    int K = 1;
  86.    float alpha = 1.0f;
  87.    float beta = 0.1f;
  88.    float A[] = { -0.181f, -0.654f };
  89.    int lda = 1;
  90.    float C[] = { -0.4f, 0.615f, 0.147f, -0.163f };
  91.    int ldc = 2;
  92.    float C_expected[] = { -0.007239f, 0.615f, 0.133074f, 0.411416f };
  93.    cblas_ssyrk(order, uplo, trans, N, K, alpha, A, lda, beta, C, ldc);
  94.    {
  95.      int i;
  96.      for (i = 0; i < 4; i++) {
  97.        gsl_test_rel(C[i], C_expected[i], flteps, "ssyrk(case 1569)");
  98.      }
  99.    };
  100.   };
  101.  
  102.  
  103.   {
  104.    int order = 101;
  105.    int uplo = 122;
  106.    int trans = 111;
  107.    int N = 2;
  108.    int K = 1;
  109.    float alpha = 0.0f;
  110.    float beta = -1.0f;
  111.    float A[] = { -0.191f, 0.584f };
  112.    int lda = 1;
  113.    float C[] = { -0.719f, -0.681f, -0.003f, 0.544f };
  114.    int ldc = 2;
  115.    float C_expected[] = { 0.719f, -0.681f, 0.003f, -0.544f };
  116.    cblas_ssyrk(order, uplo, trans, N, K, alpha, A, lda, beta, C, ldc);
  117.    {
  118.      int i;
  119.      for (i = 0; i < 4; i++) {
  120.        gsl_test_rel(C[i], C_expected[i], flteps, "ssyrk(case 1570)");
  121.      }
  122.    };
  123.   };
  124.  
  125.  
  126.   {
  127.    int order = 102;
  128.    int uplo = 122;
  129.    int trans = 111;
  130.    int N = 2;
  131.    int K = 1;
  132.    float alpha = 0.0f;
  133.    float beta = -1.0f;
  134.    float A[] = { 0.788f, 0.041f };
  135.    int lda = 2;
  136.    float C[] = { 0.029f, 0.365f, 0.739f, -0.769f };
  137.    int ldc = 2;
  138.    float C_expected[] = { -0.029f, -0.365f, 0.739f, 0.769f };
  139.    cblas_ssyrk(order, uplo, trans, N, K, alpha, A, lda, beta, C, ldc);
  140.    {
  141.      int i;
  142.      for (i = 0; i < 4; i++) {
  143.        gsl_test_rel(C[i], C_expected[i], flteps, "ssyrk(case 1571)");
  144.      }
  145.    };
  146.   };
  147.  
  148.  
  149.   {
  150.    int order = 101;
  151.    int uplo = 122;
  152.    int trans = 112;
  153.    int N = 2;
  154.    int K = 1;
  155.    float alpha = -0.3f;
  156.    float beta = -1.0f;
  157.    float A[] = { 0.733f, 0.678f };
  158.    int lda = 2;
  159.    float C[] = { -0.941f, 0.96f, 0.07f, -0.295f };
  160.    int ldc = 2;
  161.    float C_expected[] = { 0.779813f, 0.96f, -0.219092f, 0.157095f };
  162.    cblas_ssyrk(order, uplo, trans, N, K, alpha, A, lda, beta, C, ldc);
  163.    {
  164.      int i;
  165.      for (i = 0; i < 4; i++) {
  166.        gsl_test_rel(C[i], C_expected[i], flteps, "ssyrk(case 1572)");
  167.      }
  168.    };
  169.   };
  170.  
  171.  
  172.   {
  173.    int order = 102;
  174.    int uplo = 122;
  175.    int trans = 112;
  176.    int N = 2;
  177.    int K = 1;
  178.    float alpha = -0.3f;
  179.    float beta = -1.0f;
  180.    float A[] = { -0.87f, 0.675f };
  181.    int lda = 1;
  182.    float C[] = { -0.602f, -0.432f, -0.984f, 0.384f };
  183.    int ldc = 2;
  184.    float C_expected[] = { 0.37493f, 0.608175f, -0.984f, -0.520687f };
  185.    cblas_ssyrk(order, uplo, trans, N, K, alpha, A, lda, beta, C, ldc);
  186.    {
  187.      int i;
  188.      for (i = 0; i < 4; i++) {
  189.        gsl_test_rel(C[i], C_expected[i], flteps, "ssyrk(case 1573)");
  190.      }
  191.    };
  192.   };
  193.  
  194.  
  195.   {
  196.    int order = 101;
  197.    int uplo = 121;
  198.    int trans = 111;
  199.    int N = 2;
  200.    int K = 1;
  201.    double alpha = 0.1;
  202.    double beta = -0.3;
  203.    double A[] = { 0.169, -0.875 };
  204.    int lda = 1;
  205.    double C[] = { 0.159, 0.277, 0.865, 0.346 };
  206.    int ldc = 2;
  207.    double C_expected[] = { -0.0448439, -0.0978875, 0.865, -0.0272375 };
  208.    cblas_dsyrk(order, uplo, trans, N, K, alpha, A, lda, beta, C, ldc);
  209.    {
  210.      int i;
  211.      for (i = 0; i < 4; i++) {
  212.        gsl_test_rel(C[i], C_expected[i], dbleps, "dsyrk(case 1574)");
  213.      }
  214.    };
  215.   };
  216.  
  217.  
  218.   {
  219.    int order = 102;
  220.    int uplo = 121;
  221.    int trans = 111;
  222.    int N = 2;
  223.    int K = 1;
  224.    double alpha = 0.1;
  225.    double beta = -0.3;
  226.    double A[] = { 0.536, -0.725 };
  227.    int lda = 2;
  228.    double C[] = { 0.154, -0.445, -0.841, -0.91 };
  229.    int ldc = 2;
  230.    double C_expected[] = { -0.0174704, -0.445, 0.21344, 0.3255625 };
  231.    cblas_dsyrk(order, uplo, trans, N, K, alpha, A, lda, beta, C, ldc);
  232.    {
  233.      int i;
  234.      for (i = 0; i < 4; i++) {
  235.        gsl_test_rel(C[i], C_expected[i], dbleps, "dsyrk(case 1575)");
  236.      }
  237.    };
  238.   };
  239.  
  240.  
  241.   {
  242.    int order = 101;
  243.    int uplo = 121;
  244.    int trans = 112;
  245.    int N = 2;
  246.    int K = 1;
  247.    double alpha = 0;
  248.    double beta = -1;
  249.    double A[] = { -0.07, 0.8 };
  250.    int lda = 2;
  251.    double C[] = { 0.823, -0.88, -0.136, 0.793 };
  252.    int ldc = 2;
  253.    double C_expected[] = { -0.823, 0.88, -0.136, -0.793 };
  254.    cblas_dsyrk(order, uplo, trans, N, K, alpha, A, lda, beta, C, ldc);
  255.    {
  256.      int i;
  257.      for (i = 0; i < 4; i++) {
  258.        gsl_test_rel(C[i], C_expected[i], dbleps, "dsyrk(case 1576)");
  259.      }
  260.    };
  261.   };
  262.  
  263.  
  264.   {
  265.    int order = 102;
  266.    int uplo = 121;
  267.    int trans = 112;
  268.    int N = 2;
  269.    int K = 1;
  270.    double alpha = 0;
  271.    double beta = -1;
  272.    double A[] = { -0.058, 0.649 };
  273.    int lda = 1;
  274.    double C[] = { -0.187, 0.294, -0.004, -0.933 };
  275.    int ldc = 2;
  276.    double C_expected[] = { 0.187, 0.294, 0.004, 0.933 };
  277.    cblas_dsyrk(order, uplo, trans, N, K, alpha, A, lda, beta, C, ldc);
  278.    {
  279.      int i;
  280.      for (i = 0; i < 4; i++) {
  281.        gsl_test_rel(C[i], C_expected[i], dbleps, "dsyrk(case 1577)");
  282.      }
  283.    };
  284.   };
  285.  
  286.  
  287.   {
  288.    int order = 101;
  289.    int uplo = 122;
  290.    int trans = 111;
  291.    int N = 2;
  292.    int K = 1;
  293.    double alpha = 1;
  294.    double beta = -1;
  295.    double A[] = { 0.263, -0.289 };
  296.    int lda = 1;
  297.    double C[] = { 0.554, -0.679, 0.993, 0.758 };
  298.    int ldc = 2;
  299.    double C_expected[] = { -0.484831, -0.679, -1.069007, -0.674479 };
  300.    cblas_dsyrk(order, uplo, trans, N, K, alpha, A, lda, beta, C, ldc);
  301.    {
  302.      int i;
  303.      for (i = 0; i < 4; i++) {
  304.        gsl_test_rel(C[i], C_expected[i], dbleps, "dsyrk(case 1578)");
  305.      }
  306.    };
  307.   };
  308.  
  309.  
  310.   {
  311.    int order = 102;
  312.    int uplo = 122;
  313.    int trans = 111;
  314.    int N = 2;
  315.    int K = 1;
  316.    double alpha = 1;
  317.    double beta = -1;
  318.    double A[] = { -0.265, -0.837 };
  319.    int lda = 2;
  320.    double C[] = { -0.994, 0.967, -0.34, -0.069 };
  321.    int ldc = 2;
  322.    double C_expected[] = { 1.064225, -0.745195, -0.34, 0.769569 };
  323.    cblas_dsyrk(order, uplo, trans, N, K, alpha, A, lda, beta, C, ldc);
  324.    {
  325.      int i;
  326.      for (i = 0; i < 4; i++) {
  327.        gsl_test_rel(C[i], C_expected[i], dbleps, "dsyrk(case 1579)");
  328.      }
  329.    };
  330.   };
  331.  
  332.  
  333.   {
  334.    int order = 101;
  335.    int uplo = 122;
  336.    int trans = 112;
  337.    int N = 2;
  338.    int K = 1;
  339.    double alpha = -0.3;
  340.    double beta = 1;
  341.    double A[] = { -0.464, 0.394 };
  342.    int lda = 2;
  343.    double C[] = { -0.45, -0.447, 0.649, 0.055 };
  344.    int ldc = 2;
  345.    double C_expected[] = { -0.5145888, -0.447, 0.7038448, 0.0084292 };
  346.    cblas_dsyrk(order, uplo, trans, N, K, alpha, A, lda, beta, C, ldc);
  347.    {
  348.      int i;
  349.      for (i = 0; i < 4; i++) {
  350.        gsl_test_rel(C[i], C_expected[i], dbleps, "dsyrk(case 1580)");
  351.      }
  352.    };
  353.   };
  354.  
  355.  
  356.   {
  357.    int order = 102;
  358.    int uplo = 122;
  359.    int trans = 112;
  360.    int N = 2;
  361.    int K = 1;
  362.    double alpha = -0.3;
  363.    double beta = 1;
  364.    double A[] = { 0.815, 0.168 };
  365.    int lda = 1;
  366.    double C[] = { 0.817, -0.957, -0.395, -0.382 };
  367.    int ldc = 2;
  368.    double C_expected[] = { 0.6177325, -0.998076, -0.395, -0.3904672 };
  369.    cblas_dsyrk(order, uplo, trans, N, K, alpha, A, lda, beta, C, ldc);
  370.    {
  371.      int i;
  372.      for (i = 0; i < 4; i++) {
  373.        gsl_test_rel(C[i], C_expected[i], dbleps, "dsyrk(case 1581)");
  374.      }
  375.    };
  376.   };
  377.  
  378.  
  379.   {
  380.    int order = 101;
  381.    int uplo = 121;
  382.    int trans = 111;
  383.    int N = 2;
  384.    int K = 1;
  385.    float alpha[2] = {0.0f, 0.0f};
  386.    float beta[2] = {-0.3f, 0.1f};
  387.    float A[] = { 0.447f, -0.507f, -0.425f, 0.701f };
  388.    int lda = 1;
  389.    float C[] = { 0.16f, -0.245f, 0.922f, -0.437f, 0.24f, 0.008f, -0.095f, 0.749f };
  390.    int ldc = 2;
  391.    float C_expected[] = { -0.0235f, 0.0895f, -0.2329f, 0.2233f, 0.24f, 0.008f, -0.0464f, -0.2342f };
  392.    cblas_csyrk(order, uplo, trans, N, K, alpha, A, lda, beta, C, ldc);
  393.    {
  394.      int i;
  395.      for (i = 0; i < 4; i++) {
  396.        gsl_test_rel(C[2*i], C_expected[2*i], flteps, "csyrk(case 1582) real");
  397.        gsl_test_rel(C[2*i+1], C_expected[2*i+1], flteps, "csyrk(case 1582) imag");
  398.      };
  399.    };
  400.   };
  401.  
  402.  
  403.   {
  404.    int order = 102;
  405.    int uplo = 121;
  406.    int trans = 111;
  407.    int N = 2;
  408.    int K = 1;
  409.    float alpha[2] = {0.0f, 0.0f};
  410.    float beta[2] = {-0.3f, 0.1f};
  411.    float A[] = { -0.421f, -0.435f, -0.914f, -0.493f };
  412.    int lda = 2;
  413.    float C[] = { -0.761f, -0.38f, 0.043f, -0.999f, 0.779f, 0.238f, 0.082f, 0.394f };
  414.    int ldc = 2;
  415.    float C_expected[] = { 0.2663f, 0.0379f, 0.043f, -0.999f, -0.2575f, 0.0065f, -0.064f, -0.11f };
  416.    cblas_csyrk(order, uplo, trans, N, K, alpha, A, lda, beta, C, ldc);
  417.    {
  418.      int i;
  419.      for (i = 0; i < 4; i++) {
  420.        gsl_test_rel(C[2*i], C_expected[2*i], flteps, "csyrk(case 1583) real");
  421.        gsl_test_rel(C[2*i+1], C_expected[2*i+1], flteps, "csyrk(case 1583) imag");
  422.      };
  423.    };
  424.   };
  425.  
  426.  
  427.   {
  428.    int order = 101;
  429.    int uplo = 121;
  430.    int trans = 112;
  431.    int N = 2;
  432.    int K = 1;
  433.    float alpha[2] = {-1.0f, 0.0f};
  434.    float beta[2] = {-0.3f, 0.1f};
  435.    float A[] = { 0.827f, -0.896f, 0.417f, 0.865f };
  436.    int lda = 2;
  437.    float C[] = { -0.349f, -0.31f, 0.972f, 0.794f, -0.906f, -0.595f, -0.089f, -0.333f };
  438.    int ldc = 2;
  439.    float C_expected[] = { 0.254587f, 1.54008f, -1.4909f, -0.482723f, -0.906f, -0.595f, 0.634336f, -0.63041f };
  440.    cblas_csyrk(order, uplo, trans, N, K, alpha, A, lda, beta, C, ldc);
  441.    {
  442.      int i;
  443.      for (i = 0; i < 4; i++) {
  444.        gsl_test_rel(C[2*i], C_expected[2*i], flteps, "csyrk(case 1584) real");
  445.        gsl_test_rel(C[2*i+1], C_expected[2*i+1], flteps, "csyrk(case 1584) imag");
  446.      };
  447.    };
  448.   };
  449.  
  450.  
  451.   {
  452.    int order = 102;
  453.    int uplo = 121;
  454.    int trans = 112;
  455.    int N = 2;
  456.    int K = 1;
  457.    float alpha[2] = {-1.0f, 0.0f};
  458.    float beta[2] = {-0.3f, 0.1f};
  459.    float A[] = { 0.607f, 0.747f, -0.889f, 0.333f };
  460.    int lda = 1;
  461.    float C[] = { 0.244f, 0.564f, 0.009f, 0.578f, -0.827f, 0.558f, -0.337f, 0.731f };
  462.    int ldc = 2;
  463.    float C_expected[] = { 0.05996f, -1.05166f, 0.009f, 0.578f, 0.980674f, 0.211852f, -0.651432f, 0.339074f };
  464.    cblas_csyrk(order, uplo, trans, N, K, alpha, A, lda, beta, C, ldc);
  465.    {
  466.      int i;
  467.      for (i = 0; i < 4; i++) {
  468.        gsl_test_rel(C[2*i], C_expected[2*i], flteps, "csyrk(case 1585) real");
  469.        gsl_test_rel(C[2*i+1], C_expected[2*i+1], flteps, "csyrk(case 1585) imag");
  470.      };
  471.    };
  472.   };
  473.  
  474.  
  475.   {
  476.    int order = 101;
  477.    int uplo = 121;
  478.    int trans = 113;
  479.    int N = 2;
  480.    int K = 1;
  481.    float alpha[2] = {1.0f, 0.0f};
  482.    float beta[2] = {0.0f, 1.0f};
  483.    float A[] = { 0.784f, -0.281f, -0.88f, 0.479f };
  484.    int lda = 2;
  485.    float C[] = { 0.491f, 0.531f, 0.805f, -0.097f, 0.728f, 0.674f, -0.705f, -0.754f };
  486.    int ldc = 2;
  487.    float C_expected[] = { 0.004695f, 0.050392f, -0.458321f, 1.42782f, 0.728f, 0.674f, 1.29896f, -1.54804f };
  488.    cblas_csyrk(order, uplo, trans, N, K, alpha, A, lda, beta, C, ldc);
  489.    {
  490.      int i;
  491.      for (i = 0; i < 4; i++) {
  492.        gsl_test_rel(C[2*i], C_expected[2*i], flteps, "csyrk(case 1586) real");
  493.        gsl_test_rel(C[2*i+1], C_expected[2*i+1], flteps, "csyrk(case 1586) imag");
  494.      };
  495.    };
  496.   };
  497.  
  498.  
  499.   {
  500.    int order = 102;
  501.    int uplo = 121;
  502.    int trans = 113;
  503.    int N = 2;
  504.    int K = 1;
  505.    float alpha[2] = {1.0f, 0.0f};
  506.    float beta[2] = {0.0f, 1.0f};
  507.    float A[] = { 0.272f, -0.146f, 0.155f, 0.038f };
  508.    int lda = 1;
  509.    float C[] = { 0.533f, -0.41f, -0.904f, 0.301f, -0.836f, 0.57f, -0.374f, -0.293f };
  510.    int ldc = 2;
  511.    float C_expected[] = { 0.462668f, 0.453576f, -0.904f, 0.301f, -0.522292f, -0.848294f, 0.315581f, -0.36222f };
  512.    cblas_csyrk(order, uplo, trans, N, K, alpha, A, lda, beta, C, ldc);
  513.    {
  514.      int i;
  515.      for (i = 0; i < 4; i++) {
  516.        gsl_test_rel(C[2*i], C_expected[2*i], flteps, "csyrk(case 1587) real");
  517.        gsl_test_rel(C[2*i+1], C_expected[2*i+1], flteps, "csyrk(case 1587) imag");
  518.      };
  519.    };
  520.   };
  521.  
  522.  
  523.   {
  524.    int order = 101;
  525.    int uplo = 122;
  526.    int trans = 111;
  527.    int N = 2;
  528.    int K = 1;
  529.    float alpha[2] = {0.0f, 1.0f};
  530.    float beta[2] = {-1.0f, 0.0f};
  531.    float A[] = { -0.055f, -0.127f, -0.896f, -0.625f };
  532.    int lda = 1;
  533.    float C[] = { -0.619f, 0.511f, -0.877f, 0.557f, -0.801f, -0.437f, -0.922f, 0.332f };
  534.    int ldc = 2;
  535.    float C_expected[] = { 0.60503f, -0.524104f, -0.877f, 0.557f, 0.652833f, 0.406905f, -0.198f, 0.080191f };
  536.    cblas_csyrk(order, uplo, trans, N, K, alpha, A, lda, beta, C, ldc);
  537.    {
  538.      int i;
  539.      for (i = 0; i < 4; i++) {
  540.        gsl_test_rel(C[2*i], C_expected[2*i], flteps, "csyrk(case 1588) real");
  541.        gsl_test_rel(C[2*i+1], C_expected[2*i+1], flteps, "csyrk(case 1588) imag");
  542.      };
  543.    };
  544.   };
  545.  
  546.  
  547.   {
  548.    int order = 102;
  549.    int uplo = 122;
  550.    int trans = 111;
  551.    int N = 2;
  552.    int K = 1;
  553.    float alpha[2] = {0.0f, 1.0f};
  554.    float beta[2] = {-1.0f, 0.0f};
  555.    float A[] = { -0.528f, 0.759f, -0.079f, 0.952f };
  556.    int lda = 2;
  557.    float C[] = { 0.775f, 0.855f, 0.786f, 0.525f, 0.85f, 0.044f, 0.658f, 0.947f };
  558.    int ldc = 2;
  559.    float C_expected[] = { 0.026504f, -1.1523f, -0.223383f, -1.20586f, 0.85f, 0.044f, -0.507584f, -1.84706f };
  560.    cblas_csyrk(order, uplo, trans, N, K, alpha, A, lda, beta, C, ldc);
  561.    {
  562.      int i;
  563.      for (i = 0; i < 4; i++) {
  564.        gsl_test_rel(C[2*i], C_expected[2*i], flteps, "csyrk(case 1589) real");
  565.        gsl_test_rel(C[2*i+1], C_expected[2*i+1], flteps, "csyrk(case 1589) imag");
  566.      };
  567.    };
  568.   };
  569.  
  570.  
  571.   {
  572.    int order = 101;
  573.    int uplo = 122;
  574.    int trans = 112;
  575.    int N = 2;
  576.    int K = 1;
  577.    float alpha[2] = {1.0f, 0.0f};
  578.    float beta[2] = {1.0f, 0.0f};
  579.    float A[] = { -0.049f, -0.687f, -0.434f, 0.294f };
  580.    int lda = 2;
  581.    float C[] = { 0.937f, -0.113f, 0.796f, 0.293f, 0.876f, -0.199f, -0.757f, -0.103f };
  582.    int ldc = 2;
  583.    float C_expected[] = { 0.467432f, -0.045674f, 0.796f, 0.293f, 1.09924f, 0.084752f, -0.65508f, -0.358192f };
  584.    cblas_csyrk(order, uplo, trans, N, K, alpha, A, lda, beta, C, ldc);
  585.    {
  586.      int i;
  587.      for (i = 0; i < 4; i++) {
  588.        gsl_test_rel(C[2*i], C_expected[2*i], flteps, "csyrk(case 1590) real");
  589.        gsl_test_rel(C[2*i+1], C_expected[2*i+1], flteps, "csyrk(case 1590) imag");
  590.      };
  591.    };
  592.   };
  593.  
  594.  
  595.   {
  596.    int order = 102;
  597.    int uplo = 122;
  598.    int trans = 112;
  599.    int N = 2;
  600.    int K = 1;
  601.    float alpha[2] = {1.0f, 0.0f};
  602.    float beta[2] = {1.0f, 0.0f};
  603.    float A[] = { 0.359f, -0.364f, 0.926f, -0.69f };
  604.    int lda = 1;
  605.    float C[] = { 0.306f, 0.249f, 0.28f, 0.229f, 0.866f, 0.092f, 0.886f, -0.283f };
  606.    int ldc = 2;
  607.    float C_expected[] = { 0.302385f, -0.012352f, 0.361274f, -0.355774f, 0.866f, 0.092f, 1.26738f, -1.56088f };
  608.    cblas_csyrk(order, uplo, trans, N, K, alpha, A, lda, beta, C, ldc);
  609.    {
  610.      int i;
  611.      for (i = 0; i < 4; i++) {
  612.        gsl_test_rel(C[2*i], C_expected[2*i], flteps, "csyrk(case 1591) real");
  613.        gsl_test_rel(C[2*i+1], C_expected[2*i+1], flteps, "csyrk(case 1591) imag");
  614.      };
  615.    };
  616.   };
  617.  
  618.  
  619.   {
  620.    int order = 101;
  621.    int uplo = 122;
  622.    int trans = 113;
  623.    int N = 2;
  624.    int K = 1;
  625.    float alpha[2] = {-0.3f, 0.1f};
  626.    float beta[2] = {0.0f, 0.0f};
  627.    float A[] = { 0.607f, 0.555f, -0.85f, 0.831f };
  628.    int lda = 2;
  629.    float C[] = { 0.069f, 0.368f, 0.551f, -0.912f, -0.243f, -0.063f, -0.924f, 0.192f };
  630.    int ldc = 2;
  631.    float C_expected[] = { -0.0855042f, -0.196089f, 0.551f, -0.912f, 0.28988f, -0.107516f, 0.131688f, 0.427004f };
  632.    cblas_csyrk(order, uplo, trans, N, K, alpha, A, lda, beta, C, ldc);
  633.    {
  634.      int i;
  635.      for (i = 0; i < 4; i++) {
  636.        gsl_test_rel(C[2*i], C_expected[2*i], flteps, "csyrk(case 1592) real");
  637.        gsl_test_rel(C[2*i+1], C_expected[2*i+1], flteps, "csyrk(case 1592) imag");
  638.      };
  639.    };
  640.   };
  641.  
  642.  
  643.   {
  644.    int order = 102;
  645.    int uplo = 122;
  646.    int trans = 113;
  647.    int N = 2;
  648.    int K = 1;
  649.    float alpha[2] = {-0.3f, 0.1f};
  650.    float beta[2] = {0.0f, 0.0f};
  651.    float A[] = { 0.427f, 0.86f, -0.136f, 0.002f };
  652.    int lda = 1;
  653.    float C[] = { 0.398f, -0.47f, 0.011f, -0.547f, -0.106f, 0.016f, 0.681f, 0.246f };
  654.    int ldc = 2;
  655.    float C_expected[] = { 0.0937373f, -0.276059f, 0.0295482f, 0.0288526f, -0.106f, 0.016f, -0.0054932f, 0.0020124f };
  656.    cblas_csyrk(order, uplo, trans, N, K, alpha, A, lda, beta, C, ldc);
  657.    {
  658.      int i;
  659.      for (i = 0; i < 4; i++) {
  660.        gsl_test_rel(C[2*i], C_expected[2*i], flteps, "csyrk(case 1593) real");
  661.        gsl_test_rel(C[2*i+1], C_expected[2*i+1], flteps, "csyrk(case 1593) imag");
  662.      };
  663.    };
  664.   };
  665.  
  666.  
  667.   {
  668.    int order = 101;
  669.    int uplo = 121;
  670.    int trans = 111;
  671.    int N = 2;
  672.    int K = 1;
  673.    double alpha[2] = {-0.3, 0.1};
  674.    double beta[2] = {1, 0};
  675.    double A[] = { 0.718, 0.023, 0.355, -0.492 };
  676.    int lda = 1;
  677.    double C[] = { -0.637, -0.727, -0.475, -0.776, 0.802, -0.55, -0.837, 0.222 };
  678.    int ldc = 2;
  679.    double C_expected[] = { -0.7948013, -0.6854089, -0.5203527, -0.6458521, 0.802, -0.55, -0.7672563, 0.3151921 };
  680.    cblas_zsyrk(order, uplo, trans, N, K, alpha, A, lda, beta, C, ldc);
  681.    {
  682.      int i;
  683.      for (i = 0; i < 4; i++) {
  684.        gsl_test_rel(C[2*i], C_expected[2*i], dbleps, "zsyrk(case 1594) real");
  685.        gsl_test_rel(C[2*i+1], C_expected[2*i+1], dbleps, "zsyrk(case 1594) imag");
  686.      };
  687.    };
  688.   };
  689.  
  690.  
  691.   {
  692.    int order = 102;
  693.    int uplo = 121;
  694.    int trans = 111;
  695.    int N = 2;
  696.    int K = 1;
  697.    double alpha[2] = {-0.3, 0.1};
  698.    double beta[2] = {1, 0};
  699.    double A[] = { 0.209, 0.139, -0.202, -0.223 };
  700.    int lda = 2;
  701.    double C[] = { -0.695, 0.524, 0.212, -0.88, -0.752, 0.291, 0.684, -0.124 };
  702.    int ldc = 2;
  703.    double C_expected[] = { -0.7081182, 0.5090054, 0.212, -0.88, -0.7411652, 0.3122834, 0.6776683, -0.1519201 };
  704.    cblas_zsyrk(order, uplo, trans, N, K, alpha, A, lda, beta, C, ldc);
  705.    {
  706.      int i;
  707.      for (i = 0; i < 4; i++) {
  708.        gsl_test_rel(C[2*i], C_expected[2*i], dbleps, "zsyrk(case 1595) real");
  709.        gsl_test_rel(C[2*i+1], C_expected[2*i+1], dbleps, "zsyrk(case 1595) imag");
  710.      };
  711.    };
  712.   };
  713.  
  714.  
  715.   {
  716.    int order = 101;
  717.    int uplo = 121;
  718.    int trans = 112;
  719.    int N = 2;
  720.    int K = 1;
  721.    double alpha[2] = {-0.3, 0.1};
  722.    double beta[2] = {1, 0};
  723.    double A[] = { -0.365, -0.624, 0.632, 0.348 };
  724.    int lda = 2;
  725.    double C[] = { 0.877, 0.927, -0.377, 0.967, 0.008, 0.292, -0.779, 0.794 };
  726.    int ldc = 2;
  727.    double C_expected[] = { 0.9082933, 0.7647289, -0.3208028, 1.1220636, 0.008, 0.292, -0.9064832, 0.6898704 };
  728.    cblas_zsyrk(order, uplo, trans, N, K, alpha, A, lda, beta, C, ldc);
  729.    {
  730.      int i;
  731.      for (i = 0; i < 4; i++) {
  732.        gsl_test_rel(C[2*i], C_expected[2*i], dbleps, "zsyrk(case 1596) real");
  733.        gsl_test_rel(C[2*i+1], C_expected[2*i+1], dbleps, "zsyrk(case 1596) imag");
  734.      };
  735.    };
  736.   };
  737.  
  738.  
  739.   {
  740.    int order = 102;
  741.    int uplo = 121;
  742.    int trans = 112;
  743.    int N = 2;
  744.    int K = 1;
  745.    double alpha[2] = {-0.3, 0.1};
  746.    double beta[2] = {1, 0};
  747.    double A[] = { -0.067, -0.586, 0.208, 0.331 };
  748.    int lda = 1;
  749.    double C[] = { 0.584, -0.454, 0.93, 0.782, 0.489, -0.278, 0.081, -0.919 };
  750.    int ldc = 2;
  751.    double C_expected[] = { 0.6778197, -0.5114479, 0.93, 0.782, 0.4493975, -0.2167775, 0.0871195, -0.9669385 };
  752.    cblas_zsyrk(order, uplo, trans, N, K, alpha, A, lda, beta, C, ldc);
  753.    {
  754.      int i;
  755.      for (i = 0; i < 4; i++) {
  756.        gsl_test_rel(C[2*i], C_expected[2*i], dbleps, "zsyrk(case 1597) real");
  757.        gsl_test_rel(C[2*i+1], C_expected[2*i+1], dbleps, "zsyrk(case 1597) imag");
  758.      };
  759.    };
  760.   };
  761.  
  762.  
  763.   {
  764.    int order = 101;
  765.    int uplo = 121;
  766.    int trans = 113;
  767.    int N = 2;
  768.    int K = 1;
  769.    double alpha[2] = {0, 0.1};
  770.    double beta[2] = {0, 0.1};
  771.    double A[] = { -0.617, 0.179, -0.626, 0.334 };
  772.    int lda = 2;
  773.    double C[] = { 0.346, -0.903, 0.022, -0.839, -0.715, 0.049, -0.338, 0.149 };
  774.    int ldc = 2;
  775.    double C_expected[] = { 0.1123886, 0.0694648, 0.1157132, 0.0348456, -0.715, 0.049, 0.0269168, -0.005768 };
  776.    cblas_zsyrk(order, uplo, trans, N, K, alpha, A, lda, beta, C, ldc);
  777.    {
  778.      int i;
  779.      for (i = 0; i < 4; i++) {
  780.        gsl_test_rel(C[2*i], C_expected[2*i], dbleps, "zsyrk(case 1598) real");
  781.        gsl_test_rel(C[2*i+1], C_expected[2*i+1], dbleps, "zsyrk(case 1598) imag");
  782.      };
  783.    };
  784.   };
  785.  
  786.  
  787.   {
  788.    int order = 102;
  789.    int uplo = 121;
  790.    int trans = 113;
  791.    int N = 2;
  792.    int K = 1;
  793.    double alpha[2] = {0, 0.1};
  794.    double beta[2] = {0, 0.1};
  795.    double A[] = { -0.356, -0.308, 0.493, -0.351 };
  796.    int lda = 1;
  797.    double C[] = { -0.898, -0.905, 0.002, -0.219, 0.881, 0.879, 0.275, -0.351 };
  798.    int ldc = 2;
  799.    double C_expected[] = { 0.0685704, -0.0866128, 0.002, -0.219, -0.0852112, 0.0597384, 0.0697086, 0.0394848 };
  800.    cblas_zsyrk(order, uplo, trans, N, K, alpha, A, lda, beta, C, ldc);
  801.    {
  802.      int i;
  803.      for (i = 0; i < 4; i++) {
  804.        gsl_test_rel(C[2*i], C_expected[2*i], dbleps, "zsyrk(case 1599) real");
  805.        gsl_test_rel(C[2*i+1], C_expected[2*i+1], dbleps, "zsyrk(case 1599) imag");
  806.      };
  807.    };
  808.   };
  809.  
  810.  
  811.   {
  812.    int order = 101;
  813.    int uplo = 122;
  814.    int trans = 111;
  815.    int N = 2;
  816.    int K = 1;
  817.    double alpha[2] = {0, 0.1};
  818.    double beta[2] = {1, 0};
  819.    double A[] = { -0.103, -0.951, -0.601, -0.041 };
  820.    int lda = 1;
  821.    double C[] = { -0.918, -0.018, 0.991, -0.789, -0.698, -0.067, 0.956, -0.599 };
  822.    int ldc = 2;
  823.    double C_expected[] = { -0.9375906, -0.1073792, 0.991, -0.789, -0.7555774, -0.0647088, 0.9510718, -0.563048 };
  824.    cblas_zsyrk(order, uplo, trans, N, K, alpha, A, lda, beta, C, ldc);
  825.    {
  826.      int i;
  827.      for (i = 0; i < 4; i++) {
  828.        gsl_test_rel(C[2*i], C_expected[2*i], dbleps, "zsyrk(case 1600) real");
  829.        gsl_test_rel(C[2*i+1], C_expected[2*i+1], dbleps, "zsyrk(case 1600) imag");
  830.      };
  831.    };
  832.   };
  833.  
  834.  
  835.   {
  836.    int order = 102;
  837.    int uplo = 122;
  838.    int trans = 111;
  839.    int N = 2;
  840.    int K = 1;
  841.    double alpha[2] = {0, 0.1};
  842.    double beta[2] = {1, 0};
  843.    double A[] = { -0.237, 0.925, -0.904, -0.091 };
  844.    int lda = 2;
  845.    double C[] = { -0.572, 0.915, 0.398, 0.222, 0.016, 0.288, -0.078, -0.507 };
  846.    int ldc = 2;
  847.    double C_expected[] = { -0.528155, 0.8350544, 0.4794633, 0.2518423, 0.016, 0.288, -0.0944528, -0.4261065 };
  848.    cblas_zsyrk(order, uplo, trans, N, K, alpha, A, lda, beta, C, ldc);
  849.    {
  850.      int i;
  851.      for (i = 0; i < 4; i++) {
  852.        gsl_test_rel(C[2*i], C_expected[2*i], dbleps, "zsyrk(case 1601) real");
  853.        gsl_test_rel(C[2*i+1], C_expected[2*i+1], dbleps, "zsyrk(case 1601) imag");
  854.      };
  855.    };
  856.   };
  857.  
  858.  
  859.   {
  860.    int order = 101;
  861.    int uplo = 122;
  862.    int trans = 112;
  863.    int N = 2;
  864.    int K = 1;
  865.    double alpha[2] = {-0.3, 0.1};
  866.    double beta[2] = {0, 0};
  867.    double A[] = { 0.963, -0.23, -0.435, 0.289 };
  868.    int lda = 2;
  869.    double C[] = { 0.282, -0.272, -0.516, -0.594, -0.001, 0.155, -0.39, -0.354 };
  870.    int ldc = 2;
  871.    double C_expected[] = { -0.2180427, 0.2203409, -0.516, -0.594, 0.0678948, -0.1487506, -0.0065682, 0.0859994 };
  872.    cblas_zsyrk(order, uplo, trans, N, K, alpha, A, lda, beta, C, ldc);
  873.    {
  874.      int i;
  875.      for (i = 0; i < 4; i++) {
  876.        gsl_test_rel(C[2*i], C_expected[2*i], dbleps, "zsyrk(case 1602) real");
  877.        gsl_test_rel(C[2*i+1], C_expected[2*i+1], dbleps, "zsyrk(case 1602) imag");
  878.      };
  879.    };
  880.   };
  881.  
  882.  
  883.   {
  884.    int order = 102;
  885.    int uplo = 122;
  886.    int trans = 112;
  887.    int N = 2;
  888.    int K = 1;
  889.    double alpha[2] = {-0.3, 0.1};
  890.    double beta[2] = {0, 0};
  891.    double A[] = { 0.674, 0.1, -0.098, 0.552 };
  892.    int lda = 1;
  893.    double C[] = { 0.089, -0.523, -0.551, 0.618, 0.67, 0.247, 0.975, -0.714 };
  894.    int ldc = 2;
  895.    double C_expected[] = { -0.1467628, 0.0039876, 0.0001508, -0.1207996, 0.67, 0.247, 0.0993492, 0.0029476 };
  896.    cblas_zsyrk(order, uplo, trans, N, K, alpha, A, lda, beta, C, ldc);
  897.    {
  898.      int i;
  899.      for (i = 0; i < 4; i++) {
  900.        gsl_test_rel(C[2*i], C_expected[2*i], dbleps, "zsyrk(case 1603) real");
  901.        gsl_test_rel(C[2*i+1], C_expected[2*i+1], dbleps, "zsyrk(case 1603) imag");
  902.      };
  903.    };
  904.   };
  905.  
  906.  
  907.   {
  908.    int order = 101;
  909.    int uplo = 122;
  910.    int trans = 113;
  911.    int N = 2;
  912.    int K = 1;
  913.    double alpha[2] = {0, 1};
  914.    double beta[2] = {1, 0};
  915.    double A[] = { 0.033, -0.864, 0.168, 0.524 };
  916.    int lda = 2;
  917.    double C[] = { 0.788, 0.016, -0.436, 0.749, -0.89, -0.87, 0.421, -0.203 };
  918.    int ldc = 2;
  919.    double C_expected[] = { 0.845024, -0.729407, -0.436, 0.749, -0.76214, -0.41172, 0.244936, -0.449352 };
  920.    cblas_zsyrk(order, uplo, trans, N, K, alpha, A, lda, beta, C, ldc);
  921.    {
  922.      int i;
  923.      for (i = 0; i < 4; i++) {
  924.        gsl_test_rel(C[2*i], C_expected[2*i], dbleps, "zsyrk(case 1604) real");
  925.        gsl_test_rel(C[2*i+1], C_expected[2*i+1], dbleps, "zsyrk(case 1604) imag");
  926.      };
  927.    };
  928.   };
  929.  
  930.  
  931.   {
  932.    int order = 102;
  933.    int uplo = 122;
  934.    int trans = 113;
  935.    int N = 2;
  936.    int K = 1;
  937.    double alpha[2] = {0, 1};
  938.    double beta[2] = {1, 0};
  939.    double A[] = { 0.957, -0.079, 0.935, 0.232 };
  940.    int lda = 1;
  941.    double C[] = { -0.744, -0.061, 0.195, -0.574, 0.551, 0.478, -0.337, 0.1 };
  942.    int ldc = 2;
  943.    double C_expected[] = { -0.592794, 0.848608, 0.046841, 0.339123, 0.551, 0.478, -0.77084, 0.920401 };
  944.    cblas_zsyrk(order, uplo, trans, N, K, alpha, A, lda, beta, C, ldc);
  945.    {
  946.      int i;
  947.      for (i = 0; i < 4; i++) {
  948.        gsl_test_rel(C[2*i], C_expected[2*i], dbleps, "zsyrk(case 1605) real");
  949.        gsl_test_rel(C[2*i+1], C_expected[2*i+1], dbleps, "zsyrk(case 1605) imag");
  950.      };
  951.    };
  952.   };
  953.  
  954.  
  955. }
  956.